unit ListaUwag;

interface

uses Narzedzia;

 procedure dodaj_uwage( var head : wuwagi; uwaga : string);
 function licz_uwagi(head : wuwagi) : integer;
 procedure usun_uwagi(var head: wuwagi);

implementation

{---------------------------------}
{ Operacje na liscie uwag         }
{---------------------------------}

{ procedura dodaje uwage do listy }
procedure dodaj_uwage( var head : wuwagi; uwaga : string);
var
   p : wuwagi;
begin
    new(p);
    p^.tekst := uwaga;
    p^.nastepna_uwaga := head;
    head := p;
end;

{ procedura liczy ilosc uwag      }
function licz_uwagi(head : wuwagi) : integer;
var
  c : integer;
begin
  c := 0;
  while head <> nil do begin
    inc(c);
    head := head^.nastepna_uwaga;
  end;
  licz_uwagi := c;
end;

{ procedura usuwa uwagii          }
procedure usun_uwagi(var head: wuwagi);
var
    aktualny: wuwagi;
begin
    aktualny := head;
    while aktualny <> nil  do begin
          aktualny := aktualny^.nastepna_uwaga;
          dispose(head);
          head := aktualny;
    end;
    head := nil;
end;

end.

